草庐IT

vue2 jest

全部标签

javascript - 如何用 Jest 模拟/替换对象的 getter 函数?

在Sinon我可以做以下事情:varmyObj={prop:'foo'};sinon.stub(myObj,'prop').get(functiongetterFn(){return'bar';});myObj.prop;//'bar'但是我怎样才能对Jest做同样的事情呢?我不能只用jest.fn()之类的东西覆盖函数,因为它不会替换getter"can'tsetthevalueofget" 最佳答案 对于遇到这个答案的其他人来说,Jest22.1.0引入了spyongetterandsettermethods的能力.编辑:如sc

javascript - Vue js Ready 功能未触发

我有这个vue函数,其中基本上有两种方法。第一个postStatus用于在用户单击保存按钮后立即保存帖子,另一个getPosts用于从中检索该用户之前的所有帖子数据库。这是vue.js,其中有一个对Controller的ajax调用(在Laravel5.3中)$(document).ready(function(){varcsrf_token=$('meta[name="csrf-token"]').attr('content');/*Eventhandlingwithinvue*///whenweactuallysubmittheform,wewanttocatchtheaction

javascript - 如何使用 Jest 测试是否使用定义的参数( toHaveBeenCalledWith )调用了函数

我想测试在我的测试中是否调用了特定函数并使用了正确的参数。从JEST文档中我无法弄清楚什么是正确的方法。假设我有这样的东西://add.jsfunctionchild(ch){constt=ch+1;//noreturnvaluehere.Functionhassomeother"sideeffect"}functionmain(a){if(a==2){child(a+2);}returna+1;}exports.main=main;exports.child=child;现在在单元测试中:1.我想运行main(1)并测试它是否返回了2并且未调用child()。2。然后我想运行main

javascript - vue.js:如何处理同一元素上的 click 和 dblclick 事件

我有一个vue组件,其中包含用于单击/双击的单独事件。单击(取消)选择行,双击打开编辑表单。这样做,我会在双击时触发3个事件。两次点击事件,最后一次dblclick。由于点击事件首先触发,是否有一种方法(将点击事件延迟固定的毫秒数)停止双击时点击事件的传播?fiddlehere 最佳答案 正如评论中所建议的,您可以通过设置一个定时器来模拟dblclick事件一段时间(比如x)。如果我们在该时间跨度内没有再次点击,请使用single_click_function()。如果我们得到一个,调用double_click_function()

javascript - Vue.js 中的 'data:' 和 'data()' 有什么区别?

我以两种方式使用数据选项。在第一个片段数据对象中包含一个键值,但是在第二个数据中是一个函数。有没有个人的好处。在Vue.jsDocs上找不到相关的解释下面是两个代码片段:newVue({el:"#app",data:{message:'hellomr.magoo'}});newVue({el:"#app",data(){return{message:'hellomr.magoo'}}});两者都给我相同的输出。 最佳答案 在考虑您的具体代码示例时,对您问题的评论似乎错过了一个关键点。在根Vue实例中,即通过newVue({...})

javascript - Vue.js继承调用父方法

是否可以在Vue.js中使用方法覆盖?varSomeClassA=Vue.extend({methods:{someFunction:function(){//ClassAsomestuff}}});varSomeClassB=SomeClassA.extend({methods:{someFunction:function(){//CALLSomeClassA.someFunction}}});我想从ClassBsomeFunction调用ClassAsomeFunction。有可能吗? 最佳答案 不,vue不适用于直接继承模型。

javascript - 如何评估数据属性中的 Vue.js 组件 Prop ?

我有2个组件:Post和Comments。在Post组件中,有Comments组件,它有3个属性:postId、numCom(评论数)和comments(数组).我收到评论并通过props传递数组,现在我想在Comments组件中检索数组并将其添加到数据中,这样我就可以添加/删除评论等。这是我在Comments.vue中的代码:props:['id','numCom','comments'],data:function(){return{newMessage:"",loading:false,allComments:this.comments,num:this.numCom,}},但这

javascript - 使用 ajax 在 Vue.js 中提交表单

我真的很纠结如何使用Vue.js和vue-resource提交一个发出ajax请求的表单,然后使用响应来填充一个div。我用js/jQuery像这样从一个项目到另一个项目执行此操作:在Blade中查看{!!Form::open(['route'=>'formRoute','id'=>'searchForm','class'=>'form-inline'])!!}Search{!!Form::close()!!}js/jqueryvar$searchForm=$('#searchForm');var$searchResult=$('#searchResult');$searchForm.

javascript - 使用 Masonry.JS 和 Vue.JS

除了vue,我还知道如何使用masonry.js。但是,我在让它运行并在vue框架内被正确调用时遇到了问题。我在created或ready内部调用它,但似乎都没有使网格正确形成。我怎样才能让它在框架内工作?哦,我确实在这个脚本之前的html中调用了jquery。这是我在组件内部的内容:编辑:我可以看到砌体通过用JS分配其高度并将项目更改为绝对位置来影响网格。但是,它没有正确放置它们。它将它们堆叠在一起,而不是像它应该在网格中那样并排放置。exportdefault{ready:function(){this.mason();},data:function(){return{option

javascript - 在 Jest 中模拟静态方法

我在Jest模拟静态方法时遇到了麻烦。假设您有一个带有静态方法的A类:exportdefaultclassA{f(){return'a.f()'}staticstaticF(){return'A.staticF()'}}还有一个导入A的B类importAfrom'./a'exportdefaultclassB{g(){consta=newA()returna.f()}gCallsStaticF(){returnA.staticF()}}现在你想模拟A。模拟f()很容易:importAfrom'../src/a'importBfrom'../src/b'jest.mock('../src